Matthias Clasen [Fri, 7 Aug 2020 02:17:36 +0000 (22:17 -0400)]
demos: Brush up about dialogs
Show OS info, and generally polish this here and there.
Matthias Clasen [Fri, 7 Aug 2020 01:36:34 +0000 (01:36 +0000)]
Merge branch 'gtk-demo-leaks' into 'master'
Gtk demo leaks
See merge request GNOME/gtk!2393
Matthias Clasen [Fri, 7 Aug 2020 01:16:11 +0000 (01:16 +0000)]
Merge branch 'wip/otte/for-master' into 'master'
Wip/otte/for master
See merge request GNOME/gtk!2392
Matthias Clasen [Fri, 7 Aug 2020 01:14:11 +0000 (21:14 -0400)]
gtk-demo: Plug a big memory leak
The colors demo was leaking all its colors. Oops.
Matthias Clasen [Fri, 7 Aug 2020 01:13:39 +0000 (21:13 -0400)]
gtk-demo: Plug a small memory leak
The settings demo was leaking a GtkBuilderScope.
Benjamin Otte [Fri, 7 Aug 2020 00:53:21 +0000 (02:53 +0200)]
demo: fix memleak
Benjamin Otte [Fri, 7 Aug 2020 00:50:19 +0000 (02:50 +0200)]
treeview: Use gtk_snapshot_append_border()
No need to construct the node manually.
Benjamin Otte [Fri, 7 Aug 2020 00:49:41 +0000 (02:49 +0200)]
demo: Don't crash when closing words demo
Make sure the stringlist we're loading into doesn't go away.
It'd be better to have a cancellable, but I'm lazy.
Matthias Clasen [Fri, 7 Aug 2020 00:34:38 +0000 (00:34 +0000)]
Merge branch 'dnd-leaks' into 'master'
Dnd leaks
See merge request GNOME/gtk!2391
Matthias Clasen [Fri, 7 Aug 2020 00:01:26 +0000 (20:01 -0400)]
widgetpaintable: Clear an idle in dispose
We were not removing the pending_update idle
in dispose, which is at least suspicious, if
not deadly. Move the idle cleanup code into
unset_widget(), which we are already calling
in dispose().
Matthias Clasen [Fri, 7 Aug 2020 00:00:49 +0000 (20:00 -0400)]
wayland: Don't leak content formats
We were not unreffing the formats here.
Matthias Clasen [Fri, 7 Aug 2020 00:00:05 +0000 (20:00 -0400)]
drop: Don't leak the surface and formats
Matthias Clasen [Thu, 6 Aug 2020 23:59:42 +0000 (19:59 -0400)]
contentdeserializer: Add some missing annotations
Matthias Clasen [Thu, 6 Aug 2020 23:56:56 +0000 (23:56 +0000)]
Merge branch 'scroll-compression-leak' into 'master'
Fix a leak in scroll event compression
See merge request GNOME/gtk!2390
Matthias Clasen [Thu, 6 Aug 2020 23:33:20 +0000 (23:33 +0000)]
Merge branch 'cairo-node-leak' into 'master'
gsk: Don't leak cairo nodes
See merge request GNOME/gtk!2389
Matthias Clasen [Thu, 6 Aug 2020 23:31:08 +0000 (19:31 -0400)]
Fix a leak in scroll event compression
We were leaking the last event in a sequence
of scroll events.
Matthias Clasen [Thu, 6 Aug 2020 22:26:42 +0000 (18:26 -0400)]
gsk: Don't leak cairo nodes
Not chaining up in finalize is a leak, after all.
Matthias Clasen [Thu, 6 Aug 2020 19:31:24 +0000 (19:31 +0000)]
Merge branch 'focus-workaround' into 'master'
gridview: Work around unexpected focus changes
See merge request GNOME/gtk!2387
Matthias Clasen [Thu, 6 Aug 2020 18:35:19 +0000 (14:35 -0400)]
gridview: Work around unexpected focus changes
As things currently stand, we get events for focus changes
before the widget is allocated, and try to scroll in response.
Therefore, leaving n_columns at 0 until size-allocate leads
to plenty of division-by-zero. Just set it to 1 initially
to avoid that. This is a workaround for #3025.
Matthias Clasen [Thu, 6 Aug 2020 14:43:28 +0000 (14:43 +0000)]
Merge branch 'toplevel-size-declaration' into 'master'
gdk/toplevel: fix declarations of GdkToplevelSize
See merge request GNOME/gtk!2386
Andreas Persson [Thu, 6 Aug 2020 14:14:10 +0000 (16:14 +0200)]
gdk/toplevel: fix declarations of GdkToplevelSize
GDK_AVAILABLE_IN_ALL was missing from gdk_toplevel_size_get_bounds and
gdk_toplevel_size_set_max_size was declared though it doesn't exist.
Emmanuele Bassi [Thu, 6 Aug 2020 12:35:19 +0000 (12:35 +0000)]
Merge branch 'rsvg-check' into 'master'
Specify version for optional librsvg dependency
See merge request GNOME/gtk!2385
Andreas Persson [Thu, 6 Aug 2020 09:59:17 +0000 (11:59 +0200)]
Specify version for optional librsvg dependency
The testsvg test uses a method in librsvg that was introduced in
2.46.0. The test is now skipped if the librsvg version is too old.
(It was previously already skipped if librsvg wasn't found.)
Matthias Clasen [Thu, 6 Aug 2020 04:15:01 +0000 (04:15 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
testsvg: Some additions
See merge request GNOME/gtk!2383
Matthias Clasen [Thu, 6 Aug 2020 03:53:29 +0000 (23:53 -0400)]
testsvg: Some additions
Load a file from the commandline, and implement
intrinsic width/height.
Matthias Clasen [Thu, 6 Aug 2020 03:44:18 +0000 (03:44 +0000)]
Merge branch 'svg-viewer' into 'master'
Add an svg test
See merge request GNOME/gtk!2382
Matthias Clasen [Thu, 6 Aug 2020 03:22:03 +0000 (23:22 -0400)]
Add an svg test
tests/testsvg is a minimal paintable implementation wrapped
around RsvgHandle.
Matthias Clasen [Thu, 6 Aug 2020 02:00:05 +0000 (02:00 +0000)]
Merge branch 'fix-puzzle-keynav' into 'master'
Fix puzzle keynav
Closes #3023
See merge request GNOME/gtk!2381
Matthias Clasen [Thu, 6 Aug 2020 00:52:22 +0000 (20:52 -0400)]
gtk-demo: Fix keynav in the puzzle demo
Fixes: #3023
Matthias Clasen [Wed, 5 Aug 2020 03:03:48 +0000 (23:03 -0400)]
NEWS: Updates
Matthias Clasen [Wed, 5 Aug 2020 22:42:41 +0000 (22:42 +0000)]
Merge branch 'wip/carlosg/stop-spinbutton-stop' into 'master'
Let spinbuttons stop
Closes #3016
See merge request GNOME/gtk!2380
Christoph Reiter [Wed, 5 Aug 2020 22:05:25 +0000 (22:05 +0000)]
Merge branch 'msys2-ccache-setup-first' into 'master'
CI: move ccache setup before building anything
See merge request GNOME/gtk!2379
Carlos Garnacho [Wed, 5 Aug 2020 20:57:08 +0000 (22:57 +0200)]
gtkspinbutton: Claim button gestures when starting to spin
The gesture should be acknowledged by the spin button, in order to
guarantee it will also receive the button release.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3016
Carlos Garnacho [Wed, 5 Aug 2020 20:56:05 +0000 (22:56 +0200)]
gtkbutton: Don't claim gesture till emission
That means waiting till button release.
Carlos Garnacho [Wed, 5 Aug 2020 21:51:50 +0000 (23:51 +0200)]
gtkgesture: ::cancel if a claimed sequence goes denied
The regular paths just emit ::end, which isn't the whole thing.
This gives an opportunity to gestures that are stolen the sequence
to clean themselves up.
Matthias Clasen [Wed, 5 Aug 2020 21:49:42 +0000 (21:49 +0000)]
Merge branch 'wip/chergert/fix-anchored-cleanup' into 'master'
textview: properly remove anchored widgets
Closes #3021
See merge request GNOME/gtk!2378
Christian Hergert [Wed, 5 Aug 2020 21:08:07 +0000 (14:08 -0700)]
textview: properly remove anchored widgets
Fixes #3021
Matthias Clasen [Wed, 5 Aug 2020 20:21:18 +0000 (20:21 +0000)]
Merge branch 'gdk-doc-cleanup' into 'master'
docs: Clean up dangling links in gdk docs
See merge request GNOME/gtk!2377
Christoph Reiter [Wed, 5 Aug 2020 19:58:46 +0000 (21:58 +0200)]
CI: move ccache setup before building anything
otherwise glib/pango end up in the wrong cache dir
Matthias Clasen [Wed, 5 Aug 2020 19:54:34 +0000 (19:54 +0000)]
Merge branch 'fontrendering-demo-fix' into 'master'
gtk-demo: Make fontrendering demo work more than once
Closes #3019
See merge request GNOME/gtk!2375
Matthias Clasen [Wed, 5 Aug 2020 19:53:28 +0000 (19:53 +0000)]
Merge branch 'ci-git-build-test' into 'master'
CI: msys2: build glib/pango master manually before gtk
Closes #3002
See merge request GNOME/gtk!2376
Matthias Clasen [Wed, 5 Aug 2020 19:42:27 +0000 (15:42 -0400)]
docs: Clean up dangling links in gdk docs
Clean up references to no-longer-existing APIs.
Christoph Reiter [Wed, 5 Aug 2020 17:57:31 +0000 (19:57 +0200)]
CI: msys2: build glib/pango master manually before gtk
The win toolchain has problems linking meson subprojects to libgtk.
To work around that build glib/pango from git and install them first
as long as the installed version is too old at least.
Fixes #3002
Matthias Clasen [Wed, 5 Aug 2020 18:46:11 +0000 (18:46 +0000)]
Merge branch 'fix-aspect-frame' into 'master'
aspectframe: Fix use in ui files
Closes #3020
See merge request GNOME/gtk!2374
Matthias Clasen [Wed, 5 Aug 2020 18:36:01 +0000 (14:36 -0400)]
gtk-demo: Make fontrendering demo work more than once
We weren't cleaning up properly, causing the window
to not close the second time it is opened.
Fixes: #3019
Matthias Clasen [Wed, 5 Aug 2020 18:04:17 +0000 (14:04 -0400)]
aspectframe: Fix use in ui files
GtkAspectFrame code assumes that its child will be in
self->child, but that is only the case if we arrange
for <child> in ui files to end up calling
gtk_aspect_frame_set_child(). Therefore, implement
GtkBuildable.
Fixes: #3020
Matthias Clasen [Wed, 5 Aug 2020 16:19:19 +0000 (16:19 +0000)]
Merge branch 'wip/compute-size' into 'master'
Compute size via signal
See merge request GNOME/gtk!2325
Matthias Clasen [Wed, 5 Aug 2020 16:13:52 +0000 (16:13 +0000)]
Merge branch 'inspector-settings-crash' into 'master'
inspector: Stop showing settings bindings
Closes #3015
See merge request GNOME/gtk!2373
Matthias Clasen [Wed, 5 Aug 2020 15:10:22 +0000 (11:10 -0400)]
inspector: Stop showing settings bindings
We were playing fast-and-loose with private GIO data
when showing settings bindings in the property editor,
and this was causing crashes.
We can show this information again if GIO ever gets
api to introspect it.
Fixes: #3015
Matthias Clasen [Wed, 5 Aug 2020 14:13:21 +0000 (14:13 +0000)]
Merge branch 'fix-solid-csd' into 'master'
Adwaita: Reduce the solid csd borders
Closes #2997
See merge request GNOME/gtk!2372
Jonas Ådahl [Thu, 30 Jul 2020 21:06:59 +0000 (23:06 +0200)]
gdk/toplevel: Negotiate surface size via a compute-size signal
GTK will not up front know how to correctly calculate a size, since it
will not be able to reliably predict the constraints that may exist
where it will be mapped.
Thus, to handle this, calculate the size of the toplevel by having GDK
emitting a signal called 'compute-size' that will contain information
needed for computing a toplevel window size.
This signal may be emitted at any time, e.g. during
gdk_toplevel_present(), or spontaneously if constraints change.
This also drops the max size from the toplevel layout, while moving the
min size from the toplevel layout struct to the struct passed via the
signal,
This needs changes to a test case where we make sure we process
GDK_CONFIGURE etc, which means we also needs to show the window and
process all pending events in the test-focus-chain test case.
Matthias Clasen [Wed, 5 Aug 2020 12:48:41 +0000 (12:48 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
testborderdrawing: Don't crash on exit
See merge request GNOME/gtk!2370
Matthias Clasen [Wed, 5 Aug 2020 12:48:30 +0000 (12:48 +0000)]
Merge branch 'gradient-hard-stop-test' into 'master'
Add a reftest for gradients with hard stops
See merge request GNOME/gtk!2371
Matthias Clasen [Wed, 5 Aug 2020 12:45:46 +0000 (08:45 -0400)]
Adwaita: Reduce the solid csd borders
Reduce the borders we draw ourselves for solid csd
to 1 pixel. It still doesn't look great, but at least
it doesn't look outright broken.
Fixes: #2997
Matthias Clasen [Wed, 5 Aug 2020 12:18:07 +0000 (08:18 -0400)]
testborderdrawing: Don't crash on exit
Matthias Clasen [Wed, 5 Aug 2020 12:09:42 +0000 (08:09 -0400)]
Add a reftest for gradients with hard stops
This is testing the issue described in #1293.
No fix though, this is still broken in Vulkan.
It works correctly in GL and with cairo.
Matthias Clasen [Wed, 5 Aug 2020 11:46:55 +0000 (11:46 +0000)]
Merge branch 'hex-color-parse' into 'master'
Hex color parse
Closes #2931
See merge request GNOME/gtk!2356
Matthias Clasen [Wed, 5 Aug 2020 11:31:52 +0000 (11:31 +0000)]
Merge branch 'master.win32' into 'master'
Another round of fixes for GDK/Win32
See merge request GNOME/gtk!2369
Chun-wei Fan [Wed, 5 Aug 2020 10:56:57 +0000 (18:56 +0800)]
GdkGLContext: Drop gdk_gl_context_has_[framebuffer_blit|frame_terminator]()
gdk_gl_context_has_framebuffer_blit() and gdk_gl_context_has_frame_terminator()
were only used by by GDK/Win32, and they do not provide performance advantages
in GTK master, so clean up the code a bit by dropping them.
Chun-wei Fan [Mon, 3 Aug 2020 08:23:30 +0000 (16:23 +0800)]
testsuite/gsk: Only run Broadway tests if enabled
We may not have enabled building the broadway renderer for our build, so don't
run the broadway renderer tests unless it is enabled.
Chun-wei Fan [Mon, 3 Aug 2020 08:14:36 +0000 (16:14 +0800)]
testsuite: Setup tests env by platform
Check whether we really have x11 and wayland enabled before we try to setup the
tests to use these respective GDK backends, and only attempt to setup tests
running with the Broadway backend if it has been enabled.
Also, add a setup for running tests with the GDK-Win32 backend on Windows, for
builds that target Windows.
Chun-wei Fan [Wed, 5 Aug 2020 07:14:44 +0000 (15:14 +0800)]
gdksurface-win32.c: Fix resizing
Use gdk_surface_get_geometry() to get the correct x and y coordinates of the
window that we are resizing, so that the window does not reposition itself
automatically at the top-left corner at resizing as we to used hard-code the x
and y coordinates to 0.
Chun-wei Fan [Mon, 3 Aug 2020 10:43:46 +0000 (18:43 +0800)]
gdkvulkancontext-win32.c: Implement ->begin_frame()
By doing so, we ensure that resizes of windows will work on Vulkan renderer, by
first calling gdk_win32_surface_handle_queued_move_resize() before we proceed
as usual
Chun-wei Fan [Wed, 5 Aug 2020 02:43:11 +0000 (10:43 +0800)]
gdk[cairo|gl]context-win32.c: Use gdk_win32_surface_handle_queued_move_resize()
Use the shared function that was added in the previous commit, to simplify
things.
Also make gdk_win32_surface_get_queued_window_rect() and
gdk_win32_surface_apply_queued_move_resize() back into static functions, since
they are now used only by the code in gdksurface-win32.c
Chun-wei Fan [Wed, 5 Aug 2020 02:36:53 +0000 (10:36 +0800)]
gdksurface-win32.c: Add function to handle queued moves/resizes
Since we need to deal with queued moves and resizes in the Cairo, GL and Vulkan
draw contexts, and the logic involved in all three of these are largely
similar, add a function gdk_win32_surface_handle_queued_move_resize() that will
handle this, which will be shared between these three types of draw contexts.
Fran Dieguez [Wed, 5 Aug 2020 07:56:11 +0000 (07:56 +0000)]
Update Galician translation
Chun-wei Fan [Mon, 3 Aug 2020 10:22:51 +0000 (18:22 +0800)]
GDK-Win32: Move some functions around
Move gdk_win32_surface_get_queued_window_rect() and
gdk_win32_surface_apply_queued_move_resize() to gdksurface-win32.c, since these
functions are not only used for Cairo draw contexts, but is also used for GL
draw contexts, and will be used for Vulkan draw contexts.
Chun-wei Fan [Mon, 3 Aug 2020 08:01:40 +0000 (16:01 +0800)]
gdksurface-win32.c: Fix Aerosnap computation
Don't get the default display when we compute the Aerosnap region, but instead
get it from the underlying GdkSurface that we are using for the computation.
Also, don't unref the monitors that we obtain from the display in the wrong
place, which was why we had crashes whenever we triggered AeroSnap code (and we
are actually not supposed to do that as they are owned by the GdkDisplay that
is owned by the GdkSurface we are using), and this will eliminate lots of
criticals that are spewed as a result.
Matthias Clasen [Wed, 5 Aug 2020 03:44:43 +0000 (03:44 +0000)]
Merge branch 'drop-accel-label' into 'master'
Drop accel label
See merge request GNOME/gtk!2368
Matthias Clasen [Wed, 5 Aug 2020 03:17:06 +0000 (03:17 +0000)]
Merge branch 'docs-cleanup' into 'master'
Docs cleanup
See merge request GNOME/gtk!2367
Matthias Clasen [Wed, 5 Aug 2020 02:23:43 +0000 (22:23 -0400)]
Drop GtkAccelLabel
We no longer use this widget anywhere.
Matthias Clasen [Wed, 5 Aug 2020 02:17:52 +0000 (22:17 -0400)]
Drop GtkCallback
It is no longer used in any of our public APIs.
Matthias Clasen [Wed, 5 Aug 2020 02:04:57 +0000 (22:04 -0400)]
selectionfiltermodel: Drop a leftover symbol
We decided not to do new_for_type() for list model
wrappers, so this function does not exist.
Matthias Clasen [Wed, 5 Aug 2020 01:17:49 +0000 (21:17 -0400)]
docs: Clean up many dangling links
In many cases, these were references to no longer
existing api, so some rewording was necessary.
Matthias Clasen [Tue, 4 Aug 2020 23:31:22 +0000 (19:31 -0400)]
docs: Drop GtkPlacesSidebar from visual index
No longer a public widget.
Fran Dieguez [Tue, 4 Aug 2020 22:12:01 +0000 (22:12 +0000)]
Update Galician translation
Matthias Clasen [Tue, 4 Aug 2020 16:56:12 +0000 (16:56 +0000)]
Merge branch 'try-to-fix-xvfb-in-ci' into 'master'
ci: Pass -noreset to Xvfb
See merge request GNOME/gtk!2366
Matthias Clasen [Tue, 4 Aug 2020 15:59:32 +0000 (11:59 -0400)]
ci: Pass -norest to Xvfb
This may help with the sporadic "No display" failures
we are seeing when running tests under X11 in ci.
Matthias Clasen [Tue, 4 Aug 2020 15:47:50 +0000 (15:47 +0000)]
Merge branch 'popoverflow' into 'master'
popover: Set overflow: hidden
Closes #3012
See merge request GNOME/gtk!2365
Matthias Clasen [Tue, 4 Aug 2020 15:47:36 +0000 (15:47 +0000)]
Merge branch 'a11y-crash' into 'master'
A11y crash
Closes #3014
See merge request GNOME/gtk!2364
Matthias Clasen [Tue, 4 Aug 2020 15:09:45 +0000 (11:09 -0400)]
popover: Set overflow: hidden
This keeps overlay scrollbars from wrecking our
nice rounded corners.
Fixes: #3012
Matthias Clasen [Tue, 4 Aug 2020 15:02:00 +0000 (11:02 -0400)]
a11y: Don't do unnecessary work
Only serialize all the attributes if we are actually
going to print them.
Matthias Clasen [Tue, 4 Aug 2020 15:00:32 +0000 (11:00 -0400)]
scrolledwindow: Fix a11y support code
This error was introduced by me in
971ee2d28a65b816050c
and causes a crash in the scrolling benchmark in gtk-demo.
Fixes: #3014
Jonas Ådahl [Tue, 4 Aug 2020 06:21:38 +0000 (08:21 +0200)]
gdk/toplevel: Fix typo in documentation
Jonas Ådahl [Thu, 30 Jul 2020 15:01:54 +0000 (17:01 +0200)]
gtk/window: Don't remember size from GdkSurface
If we're maximized, and try to remember the non-maximized size, we'd
still get the maximized size.
Florentina Mușat [Tue, 4 Aug 2020 11:23:33 +0000 (11:23 +0000)]
Update Romanian translation
Matthias Clasen [Tue, 4 Aug 2020 11:22:07 +0000 (11:22 +0000)]
Merge branch 'modern-doc-shooter' into 'master'
Modern doc shooter
See merge request GNOME/gtk!2363
Matthias Clasen [Tue, 4 Aug 2020 04:33:37 +0000 (00:33 -0400)]
docs: Add a gallery image for GtkDropDown
Matthias Clasen [Tue, 4 Aug 2020 04:25:35 +0000 (00:25 -0400)]
docs: Add a gallery image for GtkEditableLabel
Matthias Clasen [Tue, 4 Aug 2020 04:16:22 +0000 (00:16 -0400)]
docs: Add gallery image for GtkPasswordEntry
Matthias Clasen [Tue, 4 Aug 2020 04:14:17 +0000 (00:14 -0400)]
docs: Avoid focus in gallery images
Seeing focus rectangles and selections in these
images is a distraction, and we used to avoid it.
Bring that back.
Matthias Clasen [Tue, 4 Aug 2020 04:00:47 +0000 (00:00 -0400)]
docs: Improve the gallery image for scales
Matthias Clasen [Tue, 4 Aug 2020 03:42:27 +0000 (23:42 -0400)]
docs: Add gallery images for some more widgets
This adds GtkPicture, GtkVideo, GtkMediaControls.
Matthias Clasen [Tue, 4 Aug 2020 03:41:49 +0000 (23:41 -0400)]
docs: Regenerate widget gallery images
Matthias Clasen [Tue, 4 Aug 2020 01:09:54 +0000 (21:09 -0400)]
docs: Redo the doc shooter code
Steal snapshotting code from the reftests to
make this work again.
Other changes here: catch up with container removal.
Matthias Clasen [Tue, 4 Aug 2020 03:47:13 +0000 (03:47 +0000)]
Merge branch 'pagesetup-leftover' into 'master'
Pagesetup leftover
See merge request GNOME/gtk!2362
Matthias Clasen [Tue, 4 Aug 2020 00:35:40 +0000 (00:35 +0000)]
Merge branch 'doc-links' into 'master'
Doc links
See merge request GNOME/gtk!2361
Matthias Clasen [Tue, 4 Aug 2020 00:23:59 +0000 (20:23 -0400)]
pagesetupdialog: Fix leftover tree model code
This was overlooked when the rest of the dialog
was ported to use list models.
Matthias Clasen [Mon, 3 Aug 2020 22:41:36 +0000 (18:41 -0400)]
docs: Tweak documentation for list widgets
Fix numerous cases of : vs :: for signal references,
add some more details here and there.
Matthias Clasen [Mon, 3 Aug 2020 21:42:05 +0000 (17:42 -0400)]
docs: Unify docs around incremental operations
Sync up the wording around incremental filtering
and sorting to be more similar.